package controllers;

import play.*;
import play.mvc.*;
import play.data.*;

import models.*;
import views.html.*;


public class Authentification extends Controller {

    public static class UtilisateurAuthentifie {

        public String pseudo;
        public String mdp;

        public String validate() {
            if(Utilisateur.authentification(pseudo, mdp) == null) {
                return "Echec de la connexion, réessayez !";
            } else {
            	return null;
            }
        }
    }

    public static Result connexion() {
        return ok(
        	connexion.render(form(UtilisateurAuthentifie.class))
        );
    }

    //On récupère les informations de login (quand le user se "signe")
    public static Result authentification() {
        Form<UtilisateurAuthentifie> loginForm = 
            form(UtilisateurAuthentifie.class).bindFromRequest();
        if(loginForm.hasErrors()) {
            return badRequest(connexion.render(loginForm));
        } else {
            session("pseudo_utilisateur", loginForm.get().pseudo);
            return redirect(
                routes.Utilisateurs.tableaubord()
            );
        }
    }

    //Fermer la session
    public static Result deconnexion() {
        session().clear();
        flash("success", "Vous êtes déconnecté(e)");
        return redirect(
            routes.Authentification.connexion()
        );
    }

}